import type { Ref } from 'vue'

export type UnRef<T> = T extends Ref<infer V> ? V : T
export type EmitVoid<T> = T extends void ? never : T

export type UnWrapRefObject<T> = {
  [P in keyof T]: UnRef<T[P]>
}

export type Timer = ReturnType<typeof setTimeout>
